package com.sky.delegate.allinpay;



import java.util.HashMap;
import java.util.Map;
import java.util.Random;

/**
 * Created by Tom.
 *
 * 梁总去分发任务 ;
 * 委派模式的核心就是在这里,  梁总就是委派的核心 ;
 * 至于梁总怎么安排, 他可以采取策略模式, 也可以采取固定的模式, 甚至是抽签, 都可以 ;
 *
 */
public class LeaderLiang implements IEmployee {

    private Map<String,IEmployee> employee = new HashMap<String,IEmployee>();

    public LeaderLiang(){
        employee.put("爬虫",new EmployeeA());
        employee.put("海报图",new EmployeeB());
    }

    /**
     * 结合模式策略
     * */
    public void doing(String task) {
        if(!employee.containsKey(task)){
            System.out.println("这个任务" +task + "超出我的能力范围");
            return;
        }
        employee.get(task).doing(task);
    }

    /**
     * 写死
     * */
//    public void doing( String task ){
//        if (  "爬虫".equals(   task )){
//            new EmployeeA().doing(task);
//        }else {
//            new EmployeeB().doing(task);
//        }
//    }


    /**
     * 抽签, 偶数B 上,  奇数 A 上
     * */
//    public void doing( String task ){
//
//        int i = new Random().nextInt(10);
//        if (i%2 ==0 ) {
//            new EmployeeB().doing(task);
//        }else {
//            new EmployeeA().doing(task);
//        }
//
//
//    }
}
